The present invention relates to packet communications in a mobile communications network, and more particularly, to dynamically providing packet addresses to mobile stations so that packets received from an external packet network can be routed to that mobile station.
The main application of most mobile radio systems like the Global System for Mobile communications (GSM) has been mobile telephony which typically only supports circuit-switched communications where guaranteed, xe2x80x9cfixedxe2x80x9d circuits are dedicated to a user for the duration of a call. However, packet-switched applications, like facsimile transmission and short message exchange, are becoming popular in mobile networks. Example data applications include wireless personal computers, mobile offices, electronic funds transfer, road transport telemetry, field service businesses, fleet management, etc. These data applications are characterized by xe2x80x9cburstyxe2x80x9d traffic where a relatively large amount of data is transmitted over a relatively short time interval followed by significant time intervals when little or no data is transmitted.
While bursty traffic can be transmit using a circuit-switched channel, such a transmission underutilizes that channel because there are likely large intervals between bursts when the channel is reserved but is not being used, there is no information to be transmit from or received by the user. From an efficiency view point, this is a waste of transmission resources which are particularly limited for radio communications. However, from a customer service view point, because a circuit-switched channel is not shared with other users, the user is essentially guaranteed a certain quality of service. In addition to inefficiency, it takes a relatively long time to set up and take down a circuit-switched call compared with individual packet routing in packet-switched sessions. In bursty traffic situations, packet-switched bearers better utilize the transmission bandwidth because a communications resource is used only when there is data to transmit. Communication channels are therefore typically shared by many users. Another advantage is that in contrast to time-oriented charging applied for circuit-switched connections, packet-switched data services allow charging depending on the amount of data actually transmitted and on the quality of service of that transmission.
In order to provide such mobile data applications, packet radio network services accommodate connectionless, packet-switched data services with high bandwidth efficiency. One example is the General Packet Radio Service (GPRS) incorporated into the existing circuit-switched GSM network. Another is the Cellular Digital Packet Data (CDPD) network used into the existing D-AMPS network. A significant interest of end users of a mobile packet data service such as GPRS is that wireless PCs support conventional Internet-based applications like file transfer, submission and reception of e-mail, and xe2x80x9csurfingxe2x80x9d the Internet via the worldwide web. Conferencing and playback applications, including video and multimedia, are also important services to be supported by mobile networks.
Although circuit-switched services are well known in mobile networks, mobile packet-switched services are quite new. Therefore, a brief description of the latter using GSM/GPRS as an example is now provided.
FIG. 1 shows a mobile data service from a user""s point of view in the context of a mobile communications system 10. An end user communicates data packets using a mobile host 12 including for example a laptop computer 14 connected to a mobile terminal 16. The mobile host 12 communicates for example with a fixed computer terminal 18 incorporated in a local area network (LAN) 20 through a mobile packet data support node 22 via one or more routers 24, a packet data network 26, and a router 28 in the local area network 20. Of course, those skilled in the art will appreciate that this drawing is simplified in that the xe2x80x9cpathxe2x80x9d is a logical path rather than an actual physical path or connection. In a connectionless data packet communication between the mobile host 12 and fixed terminal 18, packets are routed from the source to the destination independently and do not necessarily follow the same path (although they can).
Thus, independent packet routing and transfer within the mobile network is supported by a mobile packet data support node 22 which acts as a logical interface or gateway to external packet networks. A subscriber may send and receive data in an end-to-end packet transfer mode without using any circuit-switched mode network resources. Moreover, multiple point-to-point, parallel applications are possible. For example, a mobile host like a mobile PC might run at the same time a video conference application, an e-mail application, a facsimile application, a web browsing application, etc. The video conference application would typically require more than one data stream (hereafter referred to as an application flow).
FIG. 2 shows a more detailed mobile communications system using the example GSM mobile communications model that supports both circuit-switched and packet-switched communications and includes a circuit-switched network 35 and a packet-switched network 51. A mobile host 12 including a computer terminal 14 and mobile station 16 communicates over a radio interface with one or more base stations (BSs) 32. Each base station 32 is located in a corresponding cell 30. Multiple base stations 32 are connected to a base station controller (BSC) 34 which manages the allocation and deallocation of radio resources and controls handovers of mobile stations from one base station to another. A base station controller and its associated base stations are sometimes referred to as a base station subsystem (BSS). The BSC 34 is connected to a mobile-services switching center (MSC) 36 in the GSM circuit-switched network 35 through which circuit-switched connections are set up with other networks 38 such as the Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), etc.
The MSC 36 is also connected via a Signaling System Number 7 (SS7) network 40 to a Home Location Register (HLR) 42, a Visitor Location Register (VLR) 44, and Authentication Center (AUC) 46. The VLR 44 includes a database containing the information about all mobile stations currently located in a corresponding location or service area as well as temporary subscriber information needed by the MSC to provide services to mobiles in its service area. Typically, when a mobile station enters a visiting network or service area, the corresponding VLR 44 requests and receives data about the roaming mobile station from the mobile""s HLR and stores it. As a result, when the visiting mobile station is involved in a call, the VLR 44 already has the information needed for call setup.
The HLR 42 is a database node that stores and manages subscriptions. For each xe2x80x9chomexe2x80x9d mobile subscriber, the HLR contains permanent subscriber data such as the mobile station ISDN number (MSISDN) which uniquely identifies the mobile telephone subscription in the PLMN numbering plan and an international mobile subscriber identity (IMSI) which is a unique identity allocated to each subscriber and used for signaling in the mobile networks. All network-related subscriber information is connected to the IMSI. The HLR 42 also contains a list of services which a mobile subscriber is authorized to use along with a current subscriber location number corresponding to the address of the VLR currently serving the mobile subscriber.
Each BSC 34 also connects to the GSM packet-switched network corresponding to GPRS network 51 at a Serving GPRS Support Node (SGSN) 50 responsible for delivery of packets to the mobile stations within its service area. The gateway GPRS support node (GGSN) 54 acts as a logical interface to external packet data networks 56 such as the IP data network such as the IP data network 56. SGSN nodes 50 and GGSN nodes 54 are connected by an intra-PLMN IP backbone 52. Thus, between the SGSN 50 and the GGSN 54, the Internet protocol (IP) is used as the backbone to transfer data packets. A Subscriber/Service management system 60 is connected to the GGSN 54 and the HLR 42 to update mobile subscriber information and packet address information. The GGSN 54 is also coupled to the HLR 42 to update subscriber database information including assigned packet addresses.
Within the GPRS network 51, packets or protocol data units (PDUs) are encapsulated at an originating GPRS support node and decapsulated at the destination GPRS support node. This encapsulation/decapsulation at the IP level between the SGSN 50 and the GGSN 54 is called xe2x80x9ctunnelingxe2x80x9d in GPRS. The GGSN 54 maintains routing information used to xe2x80x9ctunnelxe2x80x9d PDUs to the SGSN 50 currently serving the mobile station. A common GPRS Tunnel Protocol (GTP) enables different underlying packet data protocols to be used. All GPRS user-related data needed by the SGSN to perform routing and data transfer functions is accessed from the HLR 42 via the SS7 network 40. The HLR 42 stores routing information and maps the IMSI to one or more packet data protocol (PDP) addresses as well as mapping each PDP address to one or more GGSNs.
Before a mobile host can send packet data to an external network like an Internet service provider (ISP) 58 shown in FIG. 2, the mobile host 12 has to (1) xe2x80x9cattachxe2x80x9d to the GPRS network 51 to make its presence known and (2) create a packet data protocol (PDP) context to establish a relationship with a GGSN 54 towards the external network that the mobile host is accessing. The attach procedure is carried out between the mobile host 12 and the SGSN 50 to establish a logical link. As a result, a temporary logical link identity is assigned to the mobile host 12. A PDP context is established between the mobile host and the GGSN 54. The selection of a GGSN 54 is based on the name of the external network to be reached.
One or more application flows (sometimes called xe2x80x9crouting contextsxe2x80x9d) may be established for a single PDP context through negotiations with the GGSN 54. An application flow corresponds to a stream of data packets distinguishable as being associated with a particular host application. An example application flow is an electronic mail message from the mobile host to a fixed terminal. Another example application flow is a downloaded graphics file from a web site. Both of these application flows are associated with the same mobile host and the same PDP context.
In order to communicate a packet of data to a wireless communications station requires that the packet be addressed with an identification address of the mobile station. An Internet Protocol (IP) address is an example of such an identification address which can be used to address packets of data which are to be routed to the communications station. An IP address is used when transmissions are made pursuant to an Internet protocol. Analogous addresses are used when data is to be transmitted pursuant to other protocols such as the X.25 protocol.
Typically, packet data transmissions to a mobile station occur only seldomly and during only short intervals. For instance, messaging services typically utilize storage units which store the message and information prior to communication of such information to the mobile station. The mobile station need not be reachable at a particular time for the messaging information to be communicated to the mobile station. The message originator need only be cognizant of the message address, e.g., the mail address, of the mobile station. Once stored at the message storage unit, the mobile station may retrieve anytime thereafter the messages from the storage unit.
This and most other data packet services do not require that a mobile station be identified with a permanent packet address. Commonly-assigned U.S. Pat. No. 5,708,655 to Toth et al. describes in the GSM/GPRS network providing a temporary packet address, e.g., an IP address, after a mobile station has successfully attached to the GPRS network. After successful attachment, a temporary packet address is assigned to a mobile station so that it can send packetsxe2x80x94sometimes referred to as xe2x80x9cmobile-originatedxe2x80x9d packetsxe2x80x94to another communications node. Of course, mobile-originated packets may originate from a terminal coupled to the mobile station. However, the Toth patent does not address the problem of routing the packets to a mobile station when the mobile data network receives xe2x80x9cmobile-terminatingxe2x80x9d packets for a GSM/GPRS mobile subscriber. Again, xe2x80x9cmobile-terminating packets may terminate at the mobile station or at a terminal device coupled to the mobile station. Specifically, the Toth patent does not make a provision for assigning a dynamic packet address when receiving terminating packets for a mobile subscriber.
Recent proposals to the GSM/GPRS specification offer a static addressing scheme for handling mobile-terminating packets in the GSM/GPRS systems. Static addressing is undesirable because there is only a finite number of packet type addresses that can be administered and allocated by a mobile communications network. Consequently, system capacity is limited by the number of static addresses. Static addressing is also inefficient. Many if not most of statically-assigned addresses to mobile subscribers would not be utilized much of the time.
Another obstacle with data packet communications in mobile communications networks is that no mechanism is in place for routing mobile-terminating packets based on the mobile subscriber""s xe2x80x9cdomain name.xe2x80x9d Unlike an IP address, such as a 32-bit integer used to identify a particular machine, users prefer to assign machines pronounceable, easily-remembered names. A domain name system provides a scheme for assigning meaningful, high-level names to a large set of machines and provides a mechanism for mapping between high-level machine names and IP addresses including translation from high-level names to IP addresses and translation from IP addresses to high-level machine names. Typically, a domain name may consist of a sequence of subnames separated by a delimiter character the period. Individual sections of the name might represent sites or groups but the domain system simply refers to each section as a label. An example of such a domain name is an Internet e-mail address such as xxx@ericsson.se. In addition to the rules for name syntax, the domain name scheme includes a distributed system for mapping names to addresses. The mechanism for mapping names to addresses consists of independent, cooperative name servers that supply name-to-address translation mapping from domain names to IP addresses. To perform domain name resolution, the xe2x80x9cclientxe2x80x9d sends a domain name query that contains the name to be resolved to a name server for resolution. When the domain name server receives the query, it checks to see if the name lies in the subdomain for which it is an authority. If so, it translates the name to an address according to its database and appends an answer to the query before sending it back to the client.
The problem with such a domain name query system in a mobile data communications environment is that to implement dynamic addressing, the mobile data communication network should be able to associate this dynamic IP address to the proper mobile subscriber identified in the mobile network via the IMSI or MSISDN. Today, no such association or a mechanism to make such an association are defined or provided.
It is an object of the present invention to overcome the above-described obstacles by providing a method and apparatus for efficiently routing terminating data packets to a specific mobile subscriber.
It is another object of the present invention to dynamically allocate temporary packet addresses to mobile stations so that they can receive packets.
It is another object of the present invention to route terminating packets to a mobile subscriber based on that subscriber""s Internet destination or domain name.
It is an object of the present invention to provide a pool of packet addresses in a mobile communications network that can be shared and efficiently allocated to many mobile subscribers.
These and other objects are achieved by the present invention which provides a method for efficiently communicating packet data from a packet data network to a mobile station by way of a mobile communications network. The present invention seeks to efficiently pool mobile-terminating packet addresses, dynamically allocate them on an as-needed basis, and return those temporary addresses to the pool when they are no longer needed. When the mobile communications network receives a message from the packet data network intended for the mobile station, an available mobile communications network packet address is dynamically assigned from the pool of packet addresses to the mobile station. Thereafter, packets included in the data message are routed to the mobile station using that dynamically-assigned packet address. When the address is no longer needed, it is returned to the pool. Each packet address in the pool includes a corresponding indication that designates whether that address is allocated or available for allocation.
In a preferred example embodiment, a correspondence is established between a subscriber identification name or alias (e.g., Internet or domain name) associated with the mobile subscriber and a mobile subscriber identifier. Preferably, the mobile identifier is an international mobile subscriber identifier (IMSI). In addition, a dynamically-assigned packet address is associated with the corresponding mobile subscriber name and identifier. Thereafter, packets from the packet data network associated with the dynamic IP address allocated for this data communication are directed to the mobile subscriber using the corresponding assigned packet address.
The mobile communications network includes a gateway service node that is associated with a mobile station as well as with an external packet data network. The mobile communications network includes a mobile packet-switched network, coupled to the radio base station, that includes a domain name system server associated with the gateway service node. In one embodiment, the domain name system server may be located in the gateway node, and in another embodiment, the domain name system server is coupled to but located outside of the gateway node. The domain name system server receives a domain name service query from the external packet data network that includes a domain name corresponding to the mobile subscriber. A dynamic packet address controller receives a request for a packet address from the domain name system server, assigns a temporary packet address to the mobile subscriber, and provides that temporary packet address to the domain name system server. In a preferred embodiment, the dynamic packet address controller is located in the gateway node. The domain name system server then returns the temporary address to the external packet network in response to the domain name service query. Once a temporary packet address is assigned, the gateway controller initiates a data session with the mobile station and routes terminating packets to the mobile station using the temporary packet address.
The dynamic packet address controller includes a memory that stores a first list that establishes correspondences between domain names associated with mobile subscribers via mobile subscriber identifiers, and associated packet addresses. The dynamic packet address controller also stores a second list corresponding to the pool of dynamically-assignable packet addresses, each address having a current status indicator. The dynamic packet address controller assigns as temporary addresses those dynamically-assignable packet addresses in the second electronic list having an xe2x80x9cavailablexe2x80x9d current status indicator. Whenever the packet address is allocated or deallocated, the dynamic packet address controller changes the state of the corresponding status indicator in the second list. The first list may store one or more different domain names associated with the mobile subscriber in accordance with the same mobile subscriber identifier but with a different temporary packet address for each of the different domain names. Different domain names may be used for example when the mobile station is running different applications such as e-mail, web browsing, video conferencing, etc.
From the standpoint of the external packet network, no special procedures need to be performed in order to route terminating packets to a mobile station. Standard domain name service protocols which are widely used throughout the Internet are all that is necessary. Thus, simply by detecting the mobile subscriber""s domain name, associated protocol data units are directed to the mobile subscriber using the dynamic packet address which is associated by the dynamic packet address controller with a mobile subscriber identifier and a domain name.